// Neo4jValueConverter.h
#ifndef NEO4J_VALUE_CONVERTER_H
#define NEO4J_VALUE_CONVERTER_H
// 前置声明 C API
extern "C" {
#include <neo4j-client.h>
}
#include "../../generated/graph_service.grpc.pb.h"
#include <string>

class Neo4jValueConverter {
public:
    
    // 转换单个值
    static neo4j_value_t toNeo4jValue(const graph::Neo4jValue& value);
    
    // 转换列表类型
    static neo4j_value_t toNeo4jValue(const graph::Neo4jList& list);
    
    // 转换映射类型
    static neo4j_value_t toNeo4jValue(const graph::Neo4jMap& map);
    
    // 将 neo4j 值转换为字符串
    static std::string toString(neo4j_value_t value);
    
private:
    // 私有构造函数，防止实例化
    Neo4jValueConverter() = delete;
    ~Neo4jValueConverter() = delete;
};

#endif // NEO4J_VALUE_CONVERTER_H